Когда вашей программе нужно выполнять несколько задач одновременно, важно выбрать правильную модель параллелизма.
Вот как это сделать:
🔄Как использовать многопоточность
✅ Используйте threading для базовой работы с потоками. ✅ Используйте concurrent.futures.ThreadPoolExecutor — удобно и масштабируемо. ✅ Используйте queue.Queue для безопасного обмена данными между потоками.
⚙️Как использовать многопроцессность
✅ Используйте multiprocessing для ресурсоёмких вычислений. ✅ Используйте concurrent.futures.ProcessPoolExecutor для упрощённого кода. ✅ Используйте joblib для параллельной обработки в ML или работе с NumPy. ✅ Используйте dask для масштабирования кода на несколько ядер или кластеров. ✅ Используйте ray для построения распределённых систем.
⚡️Как использовать асинхронное программирование
✅ Используйте asyncio, если у вас множество I/O-операций (запросы, БД, файлы) и важно не блокировать поток.
🔎Золотое правило
✅ Потоки — для I/O-задач (например, скачивание файлов) ✅ Процессы — для тяжёлых вычислений ✅ Async — для эффективной обработки большого количества сетевых или файловых операций
Когда вашей программе нужно выполнять несколько задач одновременно, важно выбрать правильную модель параллелизма.
Вот как это сделать:
🔄Как использовать многопоточность
✅ Используйте threading для базовой работы с потоками. ✅ Используйте concurrent.futures.ThreadPoolExecutor — удобно и масштабируемо. ✅ Используйте queue.Queue для безопасного обмена данными между потоками.
⚙️Как использовать многопроцессность
✅ Используйте multiprocessing для ресурсоёмких вычислений. ✅ Используйте concurrent.futures.ProcessPoolExecutor для упрощённого кода. ✅ Используйте joblib для параллельной обработки в ML или работе с NumPy. ✅ Используйте dask для масштабирования кода на несколько ядер или кластеров. ✅ Используйте ray для построения распределённых систем.
⚡️Как использовать асинхронное программирование
✅ Используйте asyncio, если у вас множество I/O-операций (запросы, БД, файлы) и важно не блокировать поток.
🔎Золотое правило
✅ Потоки — для I/O-задач (например, скачивание файлов) ✅ Процессы — для тяжёлых вычислений ✅ Async — для эффективной обработки большого количества сетевых или файловых операций
However, analysts are positive on the stock now. “We have seen a huge downside movement in the stock due to the central electricity regulatory commission’s (CERC) order that seems to be negative from 2014-15 onwards but we cannot take a linear negative view on the stock and further downside movement on the stock is unlikely. Currently stock is underpriced. Investors can bet on it for a longer horizon," said Vivek Gupta, director research at CapitalVia Global Research.
Telegram auto-delete message, expiring invites, and more
elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.
Библиотека питониста | Python Django Flask from jp